<?php
// L3 MIAGE Nice - Gestion de projets et Analyse des besoins - 2010-2011
// Création d'un site internet de vente de vidéos en ligne
// 
// functions_listageFilms.php - Fonctions pour la gestion du listage des films (par genre, par support ...)
// 
// Auteur : (groupe 15) Shyn-Yuan CHENG, Abdoul Mazid DIALLO, LAGNEAU Sébastien, NJOTCHA-NJOTCHA Franck-Merlin
// 

// Fonction lastFilmsList - Liste les nb derniers films ajoutés dans la bd
// -- Params : Nombre de films à lister
// -- Retour : tableau d'objets mysql contenant les attributs idFilm, titre, dateCine de la bd 
//             sur les nb derniers films sortie
//
function lastFilmsList ($nb) {
   // Tester la conformité des paramètres d'entrée
   //
   if(!is_int($nb)) return NULL;
   
   // Déclaration de la variable de sortie
   //
   $tabSortie= array();
   $i=0;
   
   // Connexion à la BD mysql
   //
   try {
      $db = dbfactory::factory ("mysql");
   } catch (Exception $e) {
      die($e->getmessage());
   }
   
   // Récupérer la liste des nb derniers films
   //
   $sql= "SELECT idFilm, titre, dateCine FROM film ORDER BY idFilm DESC LIMIT $nb";
   $requete = $db->query ($sql);
   
   // Mettre chaque ligne du résultat dans le tableau de sortie
   //
   while ($res = $db->fetch_object ($requete)) {
      $tabSortie[$i]= $res;
      $i++;
   }
   
   // retourner le tableau
   //
   return $tabSortie;
}


// Fonction listerFilmsGenre - liste les films par genre
// -- Params : id du genre
// -- Retour : tableau d'objets mysql contenant les attributs idFilm, titre, dateCine de la bd
//
function listerFilmsGenre ($idGenre) {
   // Tester la conformité des paramètres d'entrée
   //
   if(!is_int($idGenre)) return NULL;
   
   // Déclaration de la variable de sortie
   //
   $tabSortie= array();
   $i=0;
   
   // Connexion à la BD mysql
   //
   try {
      $db = dbfactory::factory ("mysql");
   } catch (Exception $e) {
      die($e->getmessage());
   }
   
   // Récupérer la liste des films
   //
   $sql= "SELECT * FROM film F, genresF G WHERE F.idFilm=G.idFilm and G.idGenre=$idGenre ORDER BY F.idFilm DESC";
   $requete = $db->query ($sql);
   
   // Mettre chaque ligne du résultat dans le tableau de sortie
   //
   while ($res = $db->fetch_object ($requete)) {
      $tabSortie[$i]= $res;
      $i++;
   }
   
   // retourner le tableau
   //
   return $tabSortie;
}

function listerFilmsSupport ($idSupport) {
   // Tester la conformité des paramètres d'entrée
   //
   if(!is_int($idSupport)) return NULL;
   
   // Déclaration de la variable de sortie
   //
   $tabSortie= array();
   $i=0;
   
   // Connexion à la BD mysql
   //
   try {
      $db = dbfactory::factory ("mysql");
   } catch (Exception $e) {
      die($e->getmessage());
   }
   
   // Récupérer la liste des films
   //
   $sql= "SELECT * FROM film F, produit P WHERE F.idFilm=P.idFilm and P.idSupport='$idSupport' ORDER BY F.idFilm DESC";
   $requete = $db->query ($sql);
   
   // Mettre chaque ligne du résultat dans le tableau de sortie
   //
   while ($res = $db->fetch_object ($requete)) {
      $tabSortie[$i]= $res;
      $i++;
   }
   
   // retourner le tableau
   //
   return $tabSortie;
}

// Fonction listerFilmsGenre - liste les films par genre
// -- Params : --
// -- Retour : tableau d'objets mysql contenant les attributs idFilm, titre, dateCine de la bd
//
function listerFilms () {
   // Déclaration de la variable de sortie
   //
   $tabSortie= array();
   $i=0;
   
   // Connexion à la BD mysql
   //
   try {
      $db = dbfactory::factory ("mysql");
   } catch (Exception $e) {
      die($e->getmessage());
   }
   
   // Récupérer la liste des films
   //
   $sql= "SELECT * FROM film ORDER BY idFilm DESC";
   $requete = $db->query ($sql);
   
   // Mettre chaque ligne du résultat dans le tableau de sortie
   //
   while ($res = $db->fetch_object ($requete)) {
      $tabSortie[$i]= $res;
      $i++;
   }
   
   // retourner le tableau
   //
   return $tabSortie;
}


// Fonction supports - liste les supports et le prix associé par film
// -- Params : id du film
// -- Retour : tableau d'objets mysql contenant les attributs : libellé du support et le prix HT
//
function supports ($idFilm) {
   // Tester la conformité des paramètres d'entrée
   //
   if(!is_int($idFilm)) return NULL;
   
   // Déclaration de la variable de sortie
   //
   $tabSortie= array();
   $i=0;
   
   // Connexion à la BD mysql
   //
   try {
      $db = dbfactory::factory ("mysql");
   } catch (Exception $e) {
      die($e->getmessage());
   }
   
   // Récupérer la liste des supports
   //
   $sql= "SELECT S.libelleS, P.PUHT FROM produit P, Support S WHERE P.idSupport=S.idSupport AND P.idFilm=$idFilm ";
   $requete = $db->query ($sql);
   
   // Mettre chaque ligne du résultat dans le tableau de sortie
   //
   while ($res = $db->fetch_object ($requete)) {
      $tabSortie[$i]= $res;
      $i++;
   }
   
   // retourner le tableau
   //
   return $tabSortie;
}
?>
